Consumer appliances, such as refrigerator appliances, oven appliances, microwave appliances, dishwasher appliances, etc., generally include one or more components for directing operation of a given consumer appliance. For example, a consumer appliance may include one or more control boards or controllers communicatively coupled with a control pad. Through programmed instructions and input from the control pad, the controller may direct operations of other components of the appliance.
Generally, there is a need to update appliance software in a post-factory environment. Such software updates may patch existing appliance software or may be applied to compensate for an appliance hardware issue, for example. In order to perform software updates on multiple and varied consumer appliances, it is often important to uniquely identify each consumer appliance such that the correct payload of a software update package may be provided to the appliance. Certain functions may be common to multiple different models, but different models may also have functions that are not common between them. In other words, there may be a number of variations between different consumer appliances of the same type (e.g., two or more refrigerator appliance models). Between different types of consumer appliances (e.g., a refrigerator appliance model and an oven appliance model), even more variations may exist. Over time, even identical models of a consumer appliance (e.g., appliances having the same model number) may have variations between them (e.g., different versions of software installed on the controller of each respective consumer appliance).
Given the large and ever-changing pool of consumer appliances that may need a software update, uniquely identifying each consumer appliance can be especially difficult. Existing systems typically rely on exhaustive databases of specific model numbers to match a particular software payload to the appliance. Such databases can be cumbersome and difficult to maintain. Moreover, the databases may fail to account for changes to individual appliances that share a common model (e.g., a custom software update that may be made to one consumer appliance of a certain model number, but not to another consumer appliance of the same model number). Further, in some instances, some appliances may not have a model number written to the control board at all, and consequently, identifying the appliance automatically by the model number is not possible. In addition, some appliances in the field include unknown software configurations (e.g., due to the appliance being a counterfeit appliance or due to a production issue). Such appliances may have non-genuine hardware or software (or both) and may not have a known model number. In such instances, the appliance software may not be able to be updated based on model number. Additionally, tracking of such counterfeit appliances has been difficult as new counterfeit appliances and software packages spring up routinely. It is desirable to track such appliances with unknown configurations such that quality control can be better maintained, among other reasons.
Therefore, improved systems and methods for updating a software configuration of an appliance would be useful. In particular, it would be advantageous to provide systems and methods for performing software updates based on the unique identity of an appliance, yet do not require reliance on, or determination of, a model number. Further, methods for tracking appliances with unknown software configurations would also be advantageous.